﻿using GDM.Hogar.Repositorios.Contratos;
using GDM.Hogar.Repositorios.Core;
using GDM.Hogar.Repositorios.Soporte;
using System.Collections.Generic;
using System.Data;
using System.Linq;

namespace GDM.Hogar.Repositorios
{
    public class HogarRepositorio : Repositorio, IHogarRepositorio
    {
        public HogarRepositorio(IDbManager dbManager)
            : base(dbManager)
        {
        }

        protected override string ProcActualizar
        {
            get
            {
                return ProcedimientosAlmacenados.Hogar.Actualizar;
            }
        }

        public void ActualizarHogar(Entidades.Hogar hogar)
        {
            IList<Parametro> parameters = new List<Parametro>();
            parameters.Add(CrearParametro("@HogarId", DbType.Int64, ParameterDirection.Input, hogar.HogarId));
            parameters.Add(CrearParametro("@Nombre", DbType.String, ParameterDirection.Input, hogar.Nombre));
            parameters.Add(CrearParametro("@Descripcion", DbType.String, ParameterDirection.Input, hogar.Descripcion));
            parameters.Add(CrearParametro("@Direccion", DbType.String, ParameterDirection.Input, hogar.Direccion));
            parameters.Add(CrearParametro("@Telefono", DbType.String, ParameterDirection.Input, hogar.Telefono));
            parameters.Add(CrearParametro("@Cooperativa", DbType.String, ParameterDirection.Input, hogar.Cooperativa));
            Actualizar(parameters);
        }

        public Entidades.Hogar ObtenerHogar()
        {
            IList<Parametro> parametros = new List<Parametro>();
            return Obtener<Entidades.Hogar>(ProcedimientosAlmacenados.Hogar.Obtener, parametros).FirstOrDefault();
        }
    }
}